Рекурсивні алгоритми

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування складних алгоритмів

Частина тексту файла

СТРУКТУРА звіту з лабораторної роботи НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ “КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО” ЗВІТ з лабораторної роботи №2 з навчальної дисципліни “Програмування складних алгоритмів” Тема: Рекурсивні алгоритми Мета роботи: метою лабораторної роботи є набуття практичних навичок з рекурсивними функціям. Теоретична частина. Рекурсія (лат. recursio) — метод визначення класу чи об'єкту через попереднє задання одного чи декількох (зазвичай простих) його базових випадків чи методів, а потім заданням на їхній основі правила побудови класу, який визначається. Приклади де використовують рекурсію: факторіал, числа Фібоначчі, геометричні фрактали, задача ‘Ханоївська вежа’. Є також вужче визначення для рекурсії саме для програмування. Рекурсія — виклик підпрограми (функції чи процедури) з неї самої (звичайно з іншими значеннями вхідних параметрів) безпосередньо чи через інші функції. Прямою рекурсією називається рекурсія, при якій всередині тіла деякої функції міститься виклик тієї ж функції. Непрямою рекурсією називається рекурсія, що здійснює рекурсивний виклик функції шляхом ланцюга викликів інших функцій. При цьому всі функції ланцюга, що здійснюють рекурсію, вважаються рекурсивними. Завдання до лабораторної роботи: Розробити програми згідно з алгоритмом з використанням рекурсивної функції та без використання рекурсивної функції. Оцінити час виконання та складність алгоритму. / Опис алгоритму Нерекурсивний алгоритм: нерекурсивний алгоритм реалізується через цикл for. Спочатку програма просить у користувача значення k – верхня межа підсумовування, потім через цикл for k разів виконує обчислення q й додає до минулого значення q. Рекурсивний алгоритм: спочатку програма так само просить ввести k, а потім передає це значення у заздалегідь створену функцію sum. Вміст цієї функції замінює цикл for, який є у алгоритмі без рекурсії. Після обрахунків функцією sum, результат повертається в main, де виводиться за допомогою cout. Складність алгоритму Нерекурсивний алгоритм Значення k Час виконання  5 4.5ns  20 5.2ns  100 10.48ns   Рекурсивний алгоритм Значення k Час виконання  5 4.7ns  20 5.75ns  100 5.91ns   Результати роботи програми Рекурсивна / Нерекурсивна / Програмний код Нерекурсивна / Рекурсивна / Висновок: Виконано завдання двома способами: з використанням цикла for та з використанням рекурсії. Аналіз тривалості виконання обох версій програми показав, що рекурсію краще застосовувати для великої кількості операцій. Оформлений звіт, згідно з вимогами.
Антиботан аватар за замовчуванням

17.05.2023 18:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини